/**
 * Copyright (c) 2021-Now http://faasadmin.com All rights reserved.
 * No deletion without permission, or be held responsible to law.
 */

package com.faasadmin.faas.modules.admin.admin.controller.system.appmarket.vo;

import com.faasadmin.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

import static com.faasadmin.framework.common.utils.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Tag(name = "应用市场分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SysAppMarketPageReqVO extends PageParam {

    @Schema(description = "名称")
    private String name;

    @Schema(description = "缩率图")
    private String thumbnail;

    @Schema(description = "商标")
    private String logo;

    @Schema(description = "是否显示")
    private Integer visible;

    @Schema(description = "应用编码")
    private String appCode;

    @Schema(description = "售价")
    private BigDecimal price;

    @Schema(description = "安装数量")
    private Integer install;

    @Schema(description = "付费安装")
    private Integer paidInstall;

    @Schema(description = "适用平台")
    private String platform;

    @Schema(description = "浏览量")
    private Integer browse;

    @Schema(description = "是否加密：0加密 1未加密")
    private String encrypt;

    @Schema(description = "隐私信息获取")
    private String secrecy;

    @Schema(description = "租户ID")
    private Long lesseeId;

    @Schema(description = "部门状态（0正常 1停用）")
    private Integer status;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @Schema(description = "开始创建时间")
    private Date beginCreateTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @Schema(description = "结束创建时间")
    private Date endCreateTime;

    /**
     * 用户名与密码
     */
    private String userName;
    private String password;
}
